/**
 * 
 */
package inmobiliaria.frsf.bo;

import inmobiliaria.frsf.model.Propietario;

import java.util.List;

/**
 * @author Lucas
 * 
 */
public interface PropietarioBO {

	/**
	 * Guarda un propietario
	 * 
	 * @param propietario
	 * @throws Exception
	 */
	void guardar(Propietario propietario) throws Exception;

	/**
	 * Realiza la busqueda de un propietario
	 * 
	 * @param id
	 *            Id propietario
	 * @return
	 * @throws Exception
	 */
	Propietario searchPropietarioById(Integer id) throws Exception;

	/**
	 * Realiza la busqueda de propietarios
	 * 
	 * @param id
	 *            Id del propietario
	 * @return
	 * @throws Exception
	 */
	List<Propietario> searchPropietario(Integer id, String nombre,
			String apellido, String DNI) throws Exception;

	/**
	 * Edita el propietario pasado como parametro
	 * 
	 * @param propietario
	 * @throws Exception
	 */
	void editar(Propietario propietario) throws Exception;

	/**
	 * Elimina el propietario que posea el id pasado como parametro
	 * 
	 * @param id
	 *            Id del propietario
	 * 
	 * @throws Exception
	 */
	void eliminar(Long id) throws Exception;

}
